<?php
require_once ('../connexion.php');
// récupére l'email
$mail=$_POST['mail'];


echo "<h1>Mot de passe oublié ?</h1><div class='cadreContenu'>";
try{
	$sql = 'SELECT * FROM membres WHERE mail=:mail';
	$select = $connection->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
	$select->execute(array(':mail' => $mail));
	$enregistrement = $select->fetch(PDO::FETCH_OBJ);
	if($enregistrement){
		
		// on génére un mot de passe au hasard
		$longueur=8;
		$newMdp="";
		// Définir tout les caractères possibles dans le mot de passe,
		$possible = "2346789bcdfghjkmnpqrtvwxyzBCDFGHJKLMNPQRTVWXYZ";	
		// obtenir le nombre de caractères dans la chaîne précédente
		// cette valeur sera utilisé plus tard
		$longueurMax = strlen($possible);
		if ($longueur > $longueurMax) {
			$longueur = $longueurMax;
		}		
		// initialiser le compteur
		$i = 0;	
		// ajouter un caractère aléatoire à $mdp jusqu'à ce que $longueur soit atteint
		while ($i < $longueur) {
			// prendre un caractère aléatoire
			$caractere = substr($possible, mt_rand(0, $longueurMax-1), 1);
		
			// vérifier si le caractère est déjà utilisé dans $mdp
			if (!strstr($newMdp, $caractere)) {
				// Si non, ajouter le caractère à $mdp et augmenter le compteur
				$newMdp .= $caractere;
				$i++;
			}
		}
		// on upadte le mot de passe du membre en question
		try{
			$sqlUpdate = 'UPDATE membres SET password = :newMdp WHERE mail=:mail AND login=:login';
			$update = $connection->prepare($sqlUpdate, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
			$update->execute(array(':newMdp' => hash("sha256", $newMdp), ':mail' => $mail, ':login' => $enregistrement->login));
			
			// on envoie un mail
			$destinataire="email@mdp.com";
			$objet=stripslashes("Réinitialisation de votre mot de passe");
			$msg=stripslashes("Voici votre nouveau mot de passe :<br><br>
			<center><strong>".$newMdp."</strong></center><br><br>
			Merci de changer au plus vite ce mot de passe en vous dirigeant vers l'onglet Mon compte une fois connecté.<br><br>
			Se rendre sur le site : <a href='www.cueillettedugrandparc.com'></a>");
			$headers = "Content-Type: text/html; charset=\"iso-8859-1\"";
			if(mail($destinataire,$objet,$msg,$headers))
			{
				echo "<h3>Le message de réinitialisation de mot de passe a bien été envoyé !</h3>";
			} else{
				$sqlUpdate = 'UPDATE membres SET password = :exMdp WHERE mail=:mail AND login=:login';
				$update = $connection->prepare($sqlUpdate, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
				$update->execute(array(':newMdp' => $enregistrement->password, ':mail' => $mail, ':login' => $enregistrement->login));
				echo "<h3 class='error'>Une erreur c'est produite lors de l'envois du message</h3>";
			}
			
			
		}catch(Exception $e){
			echo "<h3 class='error'>Une erreur c'est produite lors de la réinitialisation du mot de passe</h3>";
		}
		
		
		
	}else{
		echo "<h3 class='error'>L'email que vous avez saisie est invalide</h3>";
	}
	
	
}catch(Exception $e){
	echo "<h3 class='error'>L'email que vous avez saisie est invalide</h3>";
}
echo "</div>";
?>